From cfef895c52cb2e82cc92916abd8769d0500763bd Mon Sep 17 00:00:00 2001 From: Julien Grall Date: Mon, 16 Feb 2015 14:50:45 +0000 Subject: [PATCH] xen/arm: vgic-v3: Correctly implement read into GICR_NSACR The 32-bit register GICR_NSACR is RAZ/WI on non-secure state. Therefore we should not inject a data abort to the guest. Signed-off-by: Julien Grall Acked-by: Ian Campbell --- xen/arch/arm/vgic-v3.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/xen/arch/arm/vgic-v3.c b/xen/arch/arm/vgic-v3.c index 11459723af..2c1471774b 100644 --- a/xen/arch/arm/vgic-v3.c +++ b/xen/arch/arm/vgic-v3.c @@ -530,8 +530,9 @@ static int vgic_v3_rdistr_sgi_mmio_read(struct vcpu *v, mmio_info_t *info, vgic_unlock_rank(v, rank, flags); return 1; case GICR_NSACR: - if ( dabt.size != DABT_WORD ) goto bad_width; - return 1; + /* We do not implement security extensions for guests, read zero */ + goto read_as_zero_32; + default: printk(XENLOG_G_ERR "%pv: vGICR: SGI: read r%d offset %#08x\n not found", -- 2.30.2